草庐IT

Java String.replaceAll 正则表达式

全部标签

c# - xpath 表达式 count() 失败并出现异常,表达式必须评估为节点集

我遇到异常:System.Xml.XPath.XPathException:表达式必须计算为节点集。当我运行这段我希望计算节点数量的代码时,我做错了什么?vardoc=newXPathDocument("contosoBooks.xml");varnav=doc.CreateNavigator();varexpr=nav.Compile("count(//bookstore/book)");variterator=nav.Select(expr);while(iterator.MoveNext()){if(iterator.Current!=null&&!iterator.Curren

python - lxml 通过正则表达式查找标签

我正在尝试使用lxml获取格式为的标签数组TEXTTEXTTEXT我试过用xml_file.findall("TEXT*")但这会搜索字面星号。我也尝试过使用ETXPath但它似乎不起作用。是否有任何API函数可以处理它,因为假设TEXT由整数附加不是最漂亮的解决方案。 最佳答案 是的,您可以使用regularexpressionsinlxmlxpath.举个例子:results=root.xpath("//*[re:test(local-name(),'^TEXT.*')]",namespaces={'re':"http://ex

java - 在 30GB XML 数据集上搜索正则表达式模式。使用16GB内存

我目前有一个JavaSAX解析器,它正在从一个30GB的XML文件中提取一些信息。目前是:读取每个XML节点将其存储到一个字符串对象中,在字符串上运行一些正则表达式将结果存入数据库对于数百万个元素。我在具有16GB内存的计算机上运行它,但内存没有得到充分利用。有没有一种简单的方法可以从输入文件中动态“缓冲”大约10gb的数据?我怀疑我可以手动采用“生产者”“消费者”多线程版本(在一侧加载对象,使用它们并在另一侧丢弃),但是该死的,XML现在很古老,没有有效的库吗紧缩他们? 最佳答案 简单说一下,Java可以使用您的16GB内存吗?您

java - 获取 XML 元素之间文本的正则表达式

我正在看这个正则表达式\\.*通过教程等。我将其理解为阅读,匹配任何符合形式的内容blah即一个XML元素、一些文本和一个结束XML元素。但是,当我在各种正则表达式检查器(例如Expresso)上运行它时,它与我认为的不匹配。注意:更复杂的是,这个正则表达式是用Java编写的,据我所知,这意味着存在一些细微差别。我缺少什么?任何感谢...谢谢 最佳答案 使用:.*\\w–文字\,然后是w\\–文字\ 关于java-获取XML元素之间文本的正则表达式,我们在StackOverflow上找到

xml - 什么是有效 xml 名称的正则表达式?

[a-zA-Z_:]([a-zA-Z0-9_:.])*这样行吗? 最佳答案 您是指XML元素名称吗?如果是这样,不,那太排他了,有很多有效字符没有涵盖。规范中的更多信息here和here:NameStartChar::=":"|[A-Z]|"_"|[a-z]|[#xC0-#xD6]|[#xD8-#xF6]|[#xF8-#x2FF]|[#x370-#x37D]|[#x37F-#x1FFF]|[#x200C-#x200D]|[#x2070-#x218F]|[#x2C00-#x2FEF]|[#x3001-#xD7FF]|[#xF900-#

xml - 如何处理 Nokogiri 的 XPath 表达式中的转义字符

我正在使用nokogiri和一个看起来像这样的xml文档:JuanaMolinaUnDia8Dar(QuéDifícil)5\JuanaMolina\UnDia\08-JuanaMolina-Dar(QuéDifícil).mp3当我尝试查找包含转义字符的歌曲时,使用以下xpath查询我没有得到任何结果(无论我是否对查询中使用的文件名字符串进行转义)file=File.new("songs.xml")parser=Nokogiri::XML(file)filename="\JuanaMolina\UnDia\08-JuanaMolina-Dar(

java - 如何评估这棵树中的表达式?

这是一个解析过的xml文件的示例,我正在使用该文件将其标记为树形commandListassignvariable#text[a]expression-int#text[1]assignvariable#text[b]expression-int#text[2]assignvariable#text[c]expression-operationoperator#text[OP_SET]argumentsexpression-variablevariable#text[a]expression-variablevariable#text[b]assignvariable#text[d]e

java - 是否有任何 Java API 可以在运行时使用输入的 xml 模式和 xpath 表达式和数据的键值对生成 xml

我在运行时有可更改的xml架构文件。我在我的代码中使用XPath表达式和要在XML文件中输入的值获取java集合。在所有这些运行时输入的帮助下,我必须生成XML文件。下面附上示例输入和输出。下面是示例架构(无固定格式):我得到的xpath表达式和值位于HashMap的键值对中。我需要将这些xpath值与相应的XMLElement值放在output.xml中。xpath表达式和值如下:表达式:/root/top/address值:10.200.111。表达式:/root/top/mode值:clusterJava代码应该生成XML文件作为Output.xml:(这是需要在运行时从所有收集

regex - XML 中无效字符的正则表达式

这个问题在这里已经有了答案:UnicodeRegex;InvalidXMLcharacters(6个答案)关闭3年前。我正在尝试找到一种方法来找到XML中的所有无效字符。根据W3recommendation这些是XML中的有效字符:#x9|#xA|#xD|[#x20-#xD7FF]|[#xE000-#xFFFD]|[#x10000-#x10FFFF]将其转换为十进制:9101332-5529557344-6553365536-1114111是有效的xml字符。我正在尝试使用适当的正则表达式在notepad++中搜索无效字符。我的XML中的一个片段:fal sefalse

java - 如何将 XML 文件展平为一组 xpath 表达式?

考虑我有以下示例XML文件:foobar00.00USD1将其扁平化为一组xpath表达式的最佳(最有效)方法是什么。另请注意:我想忽略任何namespace和属性信息。(如果需要,这也可以作为预处理步骤完成)。所以我想得到输出:/create/article/name/create/article/description/create/article/price/amount/create/article/price/currency/create/article/id我正在用Java实现。编辑:PS,我可能还需要它在文本节点没有数据的情况下工作,因此例如,以下内容应该生成与上面相同